Skip to main content

binaryEncode

Type

function

Summary

Encodes a set of values into a set of binary values.

Syntax

binaryEncode(<formatsList>, <dataStringList>)

Description

Use the binaryEncode function to encode one or more values as binary data.

The binary data format produced by binaryEncode is similar to the format produced by the "pack()" function of the Perl programming language.

If you don't specify a number with the a, A, b, B, h, or H dataTypes, one character is encoded. If the dataType normally takes more than one character, trailing zeroes are added to make up the required number of characters. For example, H requires two characters, so binaryEncode("H","3") Encodes the hexadecimal number 30, adding a zero to the end to make the dataString two characters long.

Parameters

NameTypeDescription

formatsList

The formatsList consists of one or more dataTypes, each followed optionally by an amount.

A dataType is one of the following letters:

  • c: encode amount numbers as signed 1-byte integers
  • C: encode amount numbers as unsigned 1-byte integers
  • s: encode amount numbers as signed 2-byte integers in host byte order
  • S: encode amount numbers as unsigned 2-byte integers in host byte order
  • i: encode amount numbers as signed 4-byte integers in host byte order
  • I: encode amount numbers as unsigned 4-byte integers in host byte order
  • n: encode amount numbers as signed 2-byte integers in network byte order
  • N: encode amount numbers as signed 4-byte integers in network byte order
  • m: encode amount numbers as unsigned 2-byte integers in network byte order
  • M: encode amount numbers as unsigned 4-byte integers in network byte order
  • f: encode amount numbers as single-precision floating-point numbers
  • d: encode amount numbers as double-precision floating-point numbers
  • x: encode amount null characters

The amount is an integer or * and specifies the encoding in the following way:

  • If the dataType is a, A, b, B, h, or H, the amount specifies the
   number of characters or groups of the dataString to use; extra
characters are ignored. The * character Encodes the rest of the data
in the current dataString. If no amount is specified, the dataType is
used for one character.
- If the dataType is c, C, s, S, i, I, n, N, m, M, f, or d, the amount
specifies the number of dataStrings to encode. The * character
Encodes the rest of the dataStrings. If no amount is specified, the
dataType is used for one dataString.
- If the dataType is x, the amount specifies how many nulls to place in
the returned value.

dataStringList

string

A comma-separated list of dataStrings. Each dataString is a string, or an expression that evaluates to a string.

Examples

binaryEncode("a","Q") -- returns "Q"
binaryEncode("A5","QED") -- returns "QED  "
binaryEncode("N2a12x",firstNum,secondNum,labelString,"nothing")
charToNum(binaryEncode("B*","01111111")) -- returns 127

control structure: function

function: numToChar, format

glossary: return, binary file, value, null, encode, binary data, hexadecimal

keyword: string, character, characters

Compatibility and Support

Introduced

LiveCode 1.0

OS

mac

windows

linux

ios

android

Platforms

desktop

server

mobile

Thank you for your feedback!

Was this page helpful?